package cn.csc.module.system.api.social.dto;

import cn.csc.framework.common.validation.InEnum;
import cn.csc.module.system.enums.social.SocialTypeEnum;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

/**
 *
 * @author liuchuang
 * @version 1.0
 * @date 2024/1/11 17:25
 * @modify
 */
@ApiModel("RPC 服务 - 绑定社交用户 Response DTO")
@Data
@NoArgsConstructor
@AllArgsConstructor
public class SocialUserBindRespDTO {

    private Long userId;

    @ApiModelProperty(value = "社交平台的类型", required = true, example = "34")
    @InEnum(SocialTypeEnum.class)
    private Integer type;

    @ApiModelProperty(value = "社交 openid", required = true, example = "zsw")
    private String openid;

    @ApiModelProperty(value = "社交 token", required = true, example = "zsw32425safat")
    private String token;

    @ApiModelProperty(value = "原始 Token 数据，一般是 JSON 格式", required = true, example = "{\"token\":\"frfsdawre31tg521\"}")
    private String rawTokenInfo;

    @ApiModelProperty(value = "用户昵称", required = true, example = "土豆")
    private String nickname;

    @ApiModelProperty(value = "用户头像", required = true, example = "http://xxxx.com/fewfwaffa.jpg")
    private String avatar;

    @ApiModelProperty(value = "原始 Token 数据，一般是 JSON 格式", required = true, example = "{\"uuionid\":\"fdawre31tg521\"}")
    private String rawUserInfo;

    @ApiModelProperty(value = "最后一次的认证 code", required = true, example = "zsw3242wrq5safat")
    private String code;

    @ApiModelProperty(value = "最后一次的认证 state", required = true, example = "zsw32rww425safat")
    private String state;

}
